home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Grapevine 14
/
Grapevine 14 (Disk 2 of 3).adf
/
BOTHPASCAL.S.lha
/
Grapevine
/
sources
/
pascal2
< prev
Wrap
Text File
|
1990-09-14
|
4KB
|
149 lines
program test;
uses graph, crt;
var grdriver, I, grmode, errcode : integer;
ch : char;
stopper : boolean;
procedure clearbuff; {CLEARS THE KEYBOARD BUFFER}
var
void : char;
begin
while keypressed do
void := readkey;
end;
procedure title;
begin
settextstyle (5,0,6);
setcolor (14);
outtextxy (50,0,`The Dual Format`);
outtextxy (265,52,`P.D. Library`);
setcolor (3);
line (20,0,600,0);
line (20,0,20,138);
line (20,138,600,138);
line (600,0,600,138);
end;
procedure display_menu;
begin
cleardevice;
title;
settextstyle (4,0,5);
setcolor (10);
outtextxy (180,140,`Display Menu`);
line (180,190,420,190);
line (180,192,420,192);
settextstyle (8,0,4);
setcolor (11);
outtextxy (100,220,`1. Search for Program.`);
outtextxy (100,260.`2. Search for Disk No.`);
outtextxy (100,300,`3. Display Options.`);
outtextxy (100,340,`4. Return to Main Menu.`);
outtextxy (100,380,`5. Exit Program.`);
settextstyle (6,0,4);
setcolor (12);
outtextxy (180,430,`Press 1 - 5 please`);
textcolor (12);
repeat
if keypressed then
begin
ch := readkey;
stopper := true;
restorecrtmode;
case ch of
`1` : writeln (`Thanks for pressing 1`);
`2` : writeln (`Thanks for pressing 2`);
`3` : writeln (`Thanks for pressing 3`);
`4` : writeln (`Thanks for pressing 4`);
`5` : writeln (`Thanks for pressing 5`);
else writeln (`Not a valid entry`);
end;
end;
until stopper;
delay (1000);
end;
procedure title_screen;
begin
cleardevice;
settextstyle (4,1,7);
setcolor (9);
outtextxy (10,2,`THE`);
settextstyle (8,0,7);
setcolor (3);
outtextxy (90,20,`Dual Format`);
settextstyle (5,0,7);
setcolor (2);
outtextxy (30,120,`PUBLIC DOMAIN`);
outtextxy (150,180.`LIBRARY`);
settextstyle (1,0,4);
setcolor (4);
outtextxy (40,320,`DISK BASED SOFTWARE CATALOGUE.`);
settextstyle (1,0,1);
setcolor (15);
outtextxy (230,450,` (C) MCMXCIII DUAL FORMAT ENTERPRISES`);
repeat
until keypressed;
end;
procedure setup;
begin
stopper := false;
grdriver := detect;
initgraph (grdriver, grmode,``);
errcode := graphresult;
if errcode <> grok then
begin
halt; {error message !!!}
end;
end;
procedure main_menu;
begin
setup;
clearbuff;
title;
settextstyle (4,0,5);
setcolor (10);
outtextxy (200,140.`Main Menu`);
line (180,290,420,190);
line (180,192,420,192);
settextstyle (8,0,4);
setcolor (11);
outtextxy (100,240,`1. Search Database.`);
outtextxy (100,280,`2. Update Database.`);
outtextxy (100,320.`3. Exit Package.`);
settextstyle (6,0,4);
setcolor (12);
outtextxy (180,430,`Press 1 - 3 please`);
textcolor (12);
repeat
if keypressed then
begin
ch := readkey;
stopper := true;
restorecrtmode;
textcolor (15);
case ch of
`1` : writeln (`Thanks for pressing 1`);
`2` : writeln (`Thanks for pressing 2`);
`3` : writeln (`You`ve just quit the program`);
else writeln (`Not a valid entry`);
end;
end;
until stopper;
delay (1000);
end;
begin
setup;
title_screen;
clearbuff;
main_menu;
end.